home *** CD-ROM | disk | FTP | other *** search
/ Commodore Disc 13 / Commodore_Disc_13_19xx_-_de.d64 / crazy car (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  8KB  |  277 lines

  1. 10 rem *********************************
  2. 20 rem *          crazy car            *
  3. 30 rem * programmiert von martin wolff *
  4. 40 rem *    verbessert im okt. 1987    *
  5. 50 rem *danziger str.10 / 7750 konstanz*
  6. 60 rem *      tel. 07531/63872         *
  7. 70 rem *********************************
  8. 80 ifa=0thena=1:load"cc maschine",8,1
  9. 90 ifa=1thena=2:load"cc sprites",8,1
  10. 100 poke53281,0:poke53280,0
  11. 110 dim s(11),m(11),s$(11),m$(11):gosub890:gosub2430
  12. 120 gosub660:gosub1160
  13. 130 z$="000000"
  14. 140 gosub1470:gosub1130
  15. 150 gosub1060
  16. 160 ifpeek(30022)=48then290
  17. 170 pokev+2,0:pokev+3,140:pokev+5,0:pokev+7,0:pokev+9,0
  18. 180 poke53278,0
  19. 190 poke646,7
  20. 200 gosub1410
  21. 210 ti$=z$
  22. 220 sys49152
  23. 230 z$=ti$
  24. 240 fora=1to1000:next
  25. 250 gosub1810
  26. 260 goto150
  27. 270 rem        *** game over ***
  28. 280 rem *** ausgabe hiscore-tabelle ***
  29. 290 fora=1to100:next:print"[158]game over"
  30. 300 ru=le-1:ze=60*m+s
  31. 310 fora=1to1000:next:pokev+21,0:print"[147]":poke53281,0
  32. 320 fora=1to10:ifru=ru(a)thenc1=a:goto360
  33. 330 next
  34. 340 fora=1to10:ifru>ru(a)thenc=a:goto410
  35. 350 next:goto470
  36. 360 fora=c1to10:ifru<>ru(a)thenc2=a-1:goto380
  37. 370 next:c2=10
  38. 380 fora=c1toc2:ifze<=ze(a)thenc=a:goto410
  39. 390 next:goto470
  40. 400 rem ******* sortieren ******
  41. 410 fora=10toc+1step-1:ru(a)=ru(a-1):m(a)=m(a-1):s(a)=s(a-1)
  42. 420 n$(a)=n$(a-1):next
  43. 430 ru(c)=ru:m(c)=m:s(c)=s
  44. 440 print"[147]sie haben eine der zehn besten zeiten!!"
  45. 450 input"ihr name (max 10 zeichen)";n$(c)
  46. 460 iflen(n$(c))>10thenprint"koennen sie nicht bis zehn zaehlen?":goto450
  47. 470 gosub2320
  48. 480 s=0
  49. 490 poke53265,0
  50. 500 print"[147]crazy car bestzeit: "m$(1)":"s$(1)
  51. 510 print"fuer"ru(1)" runden von "n$(1)
  52. 520 print"[158]weitere bestzeiten:"
  53. 530 print"[150] platz     zeit [160]   runden   fahrer[158]":f=0
  54. 540 fora=2to10
  55. 550 print"  "a;tab(11)m$(a)":"s$(a);tab(22)ru(a);tab(29)n$(a)
  56. 560 if f =0thenf=1:print"[159]";:next:goto580
  57. 570 f=0:print"[158]";:next
  58. 580 print"fuer naechstes rennen 'feuer' druecken.
  59. 590 [139]s[178]0[167][153]"tabelle abspeichern mit 's'
  60. 600 poke53265,27
  61. 610 a=peek(56320)and16:ifa<>16then130
  62. 620 geta$:ifa$<>"s"then610
  63. 630 ifs<>1thengosub2560:s=1:goto490
  64. 640 goto610
  65. 650 rem ********* titelbild ************
  66. 660 poke53265,0
  67. 670 print"[147]   [152][169]     [146] [169]     [146] [169]     [146] [169]     [146] [169] [146]  [169] [146]
  68. 680 [153]"        waitprint#step      print# wait      print# wait      print# wait  print# wait   print# wait
  69. 690 print"    [152] [146]      [152] [146]   [152] [146]  [152] [146]   [152] [146]      [152] [146]  [152] [146]   [152] [146]
  70. 700 [153]"    print# wait      print#    print# wait  print#    print# wait    step print#waitstep  print#    print#waitstep
  71. 710 print"    [152] [146]          [146][152][169]      [152] [146]   [152][169] [146][152][169]    [152]  [152][146][169]
  72. 720 [153]"    print# wait        print#  wait   print# wait   print# wait  print#step print#waitstep      print# wait
  73. 730 print"    [152] [146]      [152]   [152]  [146]  [152] [146]   [152] [146] [152][169] [152][146][169]       [152] [146]
  74. 740 [153]"    print#     wait  print# wait   print# wait  print# wait   print# wait  print#     wait    print# wait
  75. 750 print"        [146][152][169]  [146][152][169]   [146][152][169]  [152][146][169]   [152][146][169]      [152][146][169]    [152][146][169]
  76. 760 [153]"            print#step   wait  step   wait  step   wait
  77. 770 print"               [152][146][169]     [152] [146]     [152] [146]
  78. 780 [153]"             print# wait     print#  print# wait   print#  print# wait
  79. 790 print"             [152] [146]       [152] [146]     [152][146][169]
  80. 800 [153]"             print#   wait   print#  print# wait    print#  wait
  81. 810 print"               [146][152][169]   [152][146][169] [152][146][169]   [152][146][169] [152][146][169]
  82. 820 [153]"sys   geschrieben 1987 von martin wolff"
  83. 830 [153]"printspielstart mit feuerknopf (port ii)
  84. 840 rem ***** zwei titel-sprites ******
  85. 850 v=53248:pokev,55:pokev+1,160:pokev+28,3:pokev+39,11:pokev+40,1
  86. 860 pokev+37,2:pokev+38,6:pokev+3,160:poke2040,242:poke2041,246:pokev+16,2
  87. 870 pokev+23,3:pokev+29,3:pokev+2,10:pokev+21,3:poke53265,27
  88. 880 return
  89. 890 restore:fora=1to10
  90. 900 read m(a),s(a),ru(a),n$(a)
  91. 910 ze(a)=60*m(a)+s(a)
  92. 920 next
  93. 930 rem *** datas fuer bestzeiten ***
  94. 940 data 3,30,7,martin
  95. 950 data 3,00,6,dirk
  96. 960 data 2,30,5,bernd
  97. 970 data 2,00,4,ruedi
  98. 980 data 2,13,4,frank
  99. 990 data 1,30,3,peck
  100. 1000 data 1,42,3,thomas
  101. 1010 data 1,00,2,rainer
  102. 1020 data 1,11,2,gordon
  103. 1030 data 0,30,1,petra
  104. 1040 return
  105. 1050 rem ** anfangswerte **
  106. 1060 poke30030,0:poke30031,0
  107. 1070 poke30034,0:poke30035,0:poke30036,57:poke30037,57:poke30038,0
  108. 1080 poke30036,48:poke30037,53:poke30038,0
  109. 1090 poke30009,0:poke30010,0:poke30012,0:poke30020,0:poke30021,0
  110. 1100 poke30026,0:poke30027,0:poke30028,0
  111. 1110 poke55409,1:poke55410,1
  112. 1120 return
  113. 1130 le=1:poke30018,48:poke30019,49:poke30029,49:poke30022,53
  114. 1140 poke30023,0:poke30024,0:poke30025,0
  115. 1150 return
  116. 1160 si=54272:g=60
  117. 1170 fora=0to24:pokesi+a,0:next
  118. 1180 pokesi+6,240:pokesi+4,33:pokesi+24,15
  119. 1190 reada:ifa=0then1220
  120. 1200 lo=aand255:hi=a/256
  121. 1210 a=peek(56320)and16:ifa=16then1240
  122. 1220 pokev+21,0:pokev+16,0:pokev+23,0:pokev+29,0
  123. 1230 fora=sitosi+24:pokea,0:next:goto300
  124. 1240 pokesi,lo:pokesi+1,hi
  125. 1250 fori=1tog:next
  126. 1260 goto1190
  127. 1270 data2228,4455,5298,6676,5298,4455,5298,4455,3338,4455,2649,4455
  128. 1280 data2228,4455,5298,6676,5298,4455,5298,4455,3338,4455,2649,4455
  129. 1290 data2228,4455,5947,7072,5947,4455,5947,4455,3536,4455,2974,4455
  130. 1300 data2228,4455,5947,7072,5947,4455,5947,4455,3536,4455,2974,4455
  131. 1310 data2228,4205,5001,5947,5001,4205,5001,4205,3536,4205,2974,4205
  132. 1320 data2228,4205,5001,5947,5001,4205,5001,4205,3536,4205,2974,4205
  133. 1330 data2228,3338,4455,5298,4455,3338,4455,3338,2649,3338,2228,3338
  134. 1340 data1985,3338,4455,5298,4455,3338,4455,3338,2649,3338,2228,3338
  135. 1350 data1768,3338,4455,5298,4455,3338,4455,3338,2649,3338,2228,3338
  136. 1360 data1669,3338,4455,5298,4455,3338,4455,3338,2649,3338,2228,3338
  137. 1370 data1768,3746,4455,5298,4455,3746,4455,3746,2649,3746,2228,3746
  138. 1380 data1768,3746,4455,5298,4455,3746,4455,3746,3150,3746,2500,3746
  139. 1390 data1669,3746,3969,5001,3969,3746,3969,3746,2500,3746,1985,3746
  140. 1400 data0,0,0
  141. 1410 rem ***** get ready *****
  142. 1420 poke53281,11
  143. 1430 print"achtung!"
  144. 1440 fora=1to2000:next
  145. 1450 print"[145][145]                  "
  146. 1460 return
  147. 1470 rem ** spielfeld zeichnen **
  148. 1480 print"[147] ":poke53265,0
  149. 1490 fora=1to24:print"   [152] [146]                        [152]            [146]";
  150. 1500 next:print"   [152] [146]";tab(28)"[152]           [146]";
  151. 1510 poke2023,160
  152. 1520 a$="[213][192][192][192][192][192][192][192][192][201]"
  153. 1530 b$="[202][192][192][192][192][192][192][192][192][203]"
  154. 1540 print"[158]"tab(29)a$
  155. 1550 printtab(29)"[145][221] schild [221]"
  156. 1560 printtab(29)"[221]     [158]   [221]"
  157. 1570 printtab(29)"[145]"b$
  158. 1580 printtab(29)a$
  159. 1590 printtab(29)"[145][221]  km/h  [221]"
  160. 1600 printtab(29)"[221]     [158]   [221]"
  161. 1610 printtab(29)"[145]"b$
  162. 1620 printtab(29)a$
  163. 1630 printtab(29)"[145][221]noch km [221]"
  164. 1640 printtab(29)"[221]     [158]   [221]"
  165. 1650 printtab(29)"[145]"b$
  166. 1660 printtab(29)a$
  167. 1670 printtab(29)"[145][221] autos  [221]"
  168. 1680 printtab(29)"[221]     [158]   [221]"
  169. 1690 printtab(29)"[145]"b$
  170. 1700 printtab(29)a$
  171. 1710 printtab(29)"[145][221] runde  [221]"
  172. 1720 printtab(29)"[221]     [158]   [221]"
  173. 1730 printtab(29)"[145]"b$
  174. 1740 printtab(29)""a$
  175. 1750 printtab(29)"[145][221](c) 1987[221]"
  176. 1760 printtab(29)"[221]martin  [221]"
  177. 1770 printtab(29)"[145][221]   wolff[221]"
  178. 1780 printtab(29)b$"[146]";
  179. 1790 poke53265,27
  180. 1800 return
  181. 1810 rem *** level aendern + zeit ****
  182. 1820 pokev+21,192:poke53280,0
  183. 1830 ifpeek(30019)<>48orpeek(30018)<>48thenreturn
  184. 1840 mi$=mid$(z$,3,2):se$=mid$(z$,5,2)
  185. 1850 pokev+21,0
  186. 1860 print"[147]sehr gut, sie haben runde"le" in der":le=le+1
  187. 1870 print"zeit von "mi$":"se$" min geschafft!!
  188. 1880 [139][194](30029)[178]55[167]2210
  189. 1890 [141]2270
  190. 1900 [153]"weiter gehts jetzt mit runde"le
  191. 1910 [153]"stopdazu muessen sie nur feuer druecken!"
  192. 1920 [139][194](56320)[179][177]111[167]1920
  193. 1930 [141]1990
  194. 1940 [151]30029,48[170]le
  195. 1950 [153]"load"
  196. 1960 z$[178]"000000"
  197. 1970 [141]1470
  198. 1980 [142]
  199. 1990 [143] *** gesamtzeit ***
  200. 2000 s[178]s[170][197](se$)
  201. 2010 m[178]m[170][197](mi$)
  202. 2020 m[178]m[170][181](s[173]60)
  203. 2030 s[178]s[171][181](s[173]60)[172]60
  204. 2040 [139]le[178]8[167]300
  205. 2050 [145] le[171]1 [141]2080,2100,2120,2140,2160,2180
  206. 2060 [151]30019,49
  207. 2070 [142]
  208. 2080 [151]30023,2
  209. 2090 [142]
  210. 2100 [151]30023,1
  211. 2110 [142]
  212. 2120 [151]30024,2
  213. 2130 [142]
  214. 2140 [151]30024,1
  215. 2150 [142]
  216. 2160 [151]30025,2
  217. 2170 [142]
  218. 2180 [151]30025,1
  219. 2190 [142]
  220. 2200 [143] *** rennen beendet ***
  221. 2210 [153]"sie haben das gesamte rennen erfolgreich"
  222. 2220 [153]"beendet!"
  223. 2230 [151]30029,56
  224. 2240 [129]x[178]1[164]2000:[130]
  225. 2250 [137]1990
  226. 2260 [143] *** bonus-auto ***
  227. 2270 [153]"ihr rennstall hat ihnen wegen iher"
  228. 2280 [153]"besonders guten leistung einen weiteren"
  229. 2290 [153]"wagen zuer verfuegung gestellt!"
  230. 2300 [151]30022,[194](30022)[170]1
  231. 2310 [142]
  232. 2320 [143] ** sek+min in strings **
  233. 2330 [129]a[178]1[164]10
  234. 2340 [139]m(a)[177][178]10[167]2360
  235. 2350 m$(a)[178]"0"[170][201]([196](m(a)),1):[137]2370
  236. 2360 m$(a)[178][201]([196](m(a)),2)
  237. 2370 [139]s(a)[177][178]10[167]2390
  238. 2380 s$(a)[178]"0"[170][201]([196](s(a)),1):[137]2400
  239. 2390 s$(a)[178][201]([196](s(a)),2)
  240. 2400 [130]
  241. 2410 [142]
  242. 2420 [143] ** tabelle laden **
  243. 2430 [133]"loadwollen sie die tabelle laden (j/n)";ant$
  244. 2440 [139]ant$[179][177]"j"[167][142]
  245. 2450 [153]"sysbitte legen sie die spieldiskette ein"
  246. 2460 [153]"fertig (taste)?"
  247. 2470 [161] ant$:[139]ant$[178]""[167]2470
  248. 2480 [141]2680
  249. 2490 [159]2,8,2,"0:cc tabelle,s,r"
  250. 2500 [129]a[178]1[164]10
  251. 2510 [132]2,m(a),s(a),ru(a),n$(a)
  252. 2520 [130]
  253. 2530 [160]2
  254. 2540 [142]
  255. 2550 [143] ** tabelle speichern **
  256. 2560 [153]"loadbitte legen sie die spieldiskette ein"
  257. 2570 [153]"fertig (taste)?"
  258. 2580 [161] ant$:[139]ant$[178]""[167]2580
  259. 2590 [159]2,8,2,"@:cc tabelle,s,w"
  260. 2600 [129]a[178]1[164]10
  261. 2610 [152]2,m(a)
  262. 2620 [152]2,s(a)
  263. 2630 [152]2,ru(a)
  264. 2640 [152]2,n$(a)
  265. 2650 [130]
  266. 2660 [160]2
  267. 2670 [142]
  268. 2680 [143] ** diskettenfehler **
  269. 2690 [159]2,8,2,"0:cc tabelle,s,r"
  270. 2700 [159]1,8,15
  271. 2710 [132]1,f
  272. 2720 [160]1:[160]2
  273. 2730 [139]f[178]0[167][142]
  274. 2740 [153]"loaddiskettenfehler"
  275. 2750 [153]"usrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusr"
  276. 2760 [137]2450
  277.